Android LiveData
LiveData is:
lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services
transformationへの解説(和訳)もある
LiveDataが nullableになることについては、 通常は、!!で対処するけど、、
a. Collection, Stringのときは、.orEmpty()を使う(他の型のときは同様なメソッド?)
b. LiveDataを継承したクラスを作る
こちらに詳しく書いてある。が、未だ自分は追えてない。
Single LiveEvent Case
like a Snackbar message, a navigation event or a dialog trigger. data should be consumed only once
どうやって実装するか。
viewmodel側に専用flag, 確実でない。
observer側で条件判定、煩雑
SingleLiveEvent<Any>()を viewModelのメンバーにして、監視対象にする。
observerは1人(箇所)のみに制限される
監視する値を Event的なclassにする?
This method models the events as part of the state
こちらのがよいかな。後から気づいた。